home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / drivers / atarisy1.c < prev    next >
C/C++ Source or Header  |  2000-05-18  |  59KB  |  1,579 lines

  1. /***************************************************************************
  2.  
  3.     Atari System 1 hardware
  4.  
  5.     driver by Aaron Giles
  6.  
  7.     Games supported:
  8.         * Marble Madness (1984) [3 sets]
  9.         * Peter Packrat (1984)
  10.         * Indiana Jones & the Temple of Doom (1985) [4 sets]
  11.         * Road Runner (1985)
  12.         * Road Blasters (1987)
  13.  
  14.     Known bugs:
  15.         * none at this time
  16.  
  17. ****************************************************************************
  18.  
  19.     Memory map
  20.  
  21. ****************************************************************************
  22.  
  23.     ========================================================================
  24.     MAIN CPU
  25.     ========================================================================
  26.     000000-07FFFF   R     xxxxxxxx xxxxxxxx   Program ROM
  27.     080000-087FFF   R     xxxxxxxx xxxxxxxx   Slapstic-protected ROM
  28.     2E0000          R     -------- x-------   Sprite interrupt state
  29.     400000-401FFF   R/W   xxxxxxxx xxxxxxxx   Program RAM
  30.     800000            W   -------x xxxxxxxx   Playfield X scroll
  31.     820000            W   -------x xxxxxxxx   Playfield Y scroll
  32.     840000            W   -------- xxxxxxxx   Playfield priority color mask
  33.     860000            W   -------- xxxxxxxx   Audio/video control
  34.                       W   -------- x-------      (Sound CPU reset)
  35.                       W   -------- -x------      (Trackball test)
  36.                       W   -------- --xxx---      (Motion object RAM bank select)
  37.                       W   -------- -----x--      (Playfield tile bank select)
  38.                       W   -------- ------x-      (Trackball resolution & test LED)
  39.                       W   -------- -------x      (Alphanumerics tile bank select)
  40.     880000            W   -------- --------   Watchdog reset
  41.     8A0000            W   -------- --------   VBLANK IRQ acknowledge
  42.     8C0000            W   -------- --------   EEPROM enable
  43.     900000-9FFFFF   R/W   xxxxxxxx xxxxxxxx   Catridge external RAM/ROM
  44.     A00000-A01FFF   R/W   xxxxxxxx xxxxxxxx   Playfield RAM (64x64 tiles)
  45.                     R/W   x------- --------      (Horizontal flip)
  46.                     R/W   -xxxxxxx --------      (Tile ROM & palette select)
  47.                     R/W   -------- xxxxxxxx      (Tile index, 8 LSB)
  48.     A02000-A02FFF   R/W   xxxxxxxx xxxxxxxx   Motion object RAM (8 banks x 64 entries x 4 words)
  49.                     R/W   x------- --------      (0: X flip)
  50.                     R/W   --xxxxxx xxx-----      (0: Y position)
  51.                     R/W   -------- ----xxxx      (0: Number of Y tiles - 1)
  52.                     R/W   xxxxxxxx --------      (64: Tile ROM & palette select)
  53.                     R/W   -------- xxxxxxxx      (64: Tile index, 8 LSB)
  54.                     R/W   --xxxxxx xxx-----      (128: X position)
  55.                     R/W   -------- ----xxxx      (128: Number of X tiles - 1)
  56.                     R/W   -------- --xxxxxx      (192: Link to the next object)
  57.     A03000-A03FFF   R/W   --xxxxxx xxxxxxxx   Alphanumerics RAM
  58.                     R/W   --x----- --------      (Opaque/transparent)
  59.                     R/W   ---xxx-- --------      (Palette index)
  60.                     R/W   ------xx xxxxxxxx      (Tile index)
  61.     B00000-B001FF   R/W   xxxxxxxx xxxxxxxx   Alphanumerics palette RAM (256 entries)
  62.                     R/W   xxxx---- --------      (Intensity)
  63.                     R/W   ----xxxx --------      (Red)
  64.                     R/W   -------- xxxx----      (Green)
  65.                     R/W   -------- ----xxxx      (Blue)
  66.     B00200-B003FF   R/W   xxxxxxxx xxxxxxxx   Motion object palette RAM (256 entries)
  67.     B00400-B005FF   R/W   xxxxxxxx xxxxxxxx   Playfield palette RAM (256 entries)
  68.     B00600-B007FF   R/W   xxxxxxxx xxxxxxxx   Translucency palette RAM (256 entries)
  69.     F00000-F00FFF   R/W   -------- xxxxxxxx   EEPROM
  70.     F20000-F20007   R     -------- xxxxxxxx   Analog inputs
  71.     F40000-F4001F   R     -------- xxxxxxxx   Joystick inputs
  72.     F40000-F4001F     W   -------- --------   Joystick IRQ enable
  73.     F60000          R     -------- xxxxxxxx   Switch inputs
  74.                     R     -------- x-------      (Command buffer full)
  75.                     R     -------- -x------      (Self test)
  76.                     R     -------- --x-xxxx      (Game-specific switches)
  77.                     R     -------- ---x----      (VBLANK)
  78.     FC0000          R     -------- xxxxxxxx   Sound response read
  79.     FE0000            W   -------- xxxxxxxx   Sound command write
  80.     ========================================================================
  81.     Interrupts:
  82.         IRQ2 = joystick interrupt
  83.         IRQ3 = sprite-based interrupt
  84.         IRQ4 = VBLANK
  85.         IRQ6 = sound CPU communications
  86.     ========================================================================
  87.  
  88.  
  89.     ========================================================================
  90.     SOUND CPU
  91.     ========================================================================
  92.     0000-0FFF   R/W   xxxxxxxx   Program RAM
  93.     1000-100F   R/W   xxxxxxxx   M6522
  94.     1000-1FFF   R/W   xxxxxxxx   Catridge external RAM/ROM
  95.     1800-1801   R/W   xxxxxxxx   YM2151 communications
  96.     1810        R     xxxxxxxx   Sound command read
  97.     1810          W   xxxxxxxx   Sound response write
  98.     1820        R     x--xxxxx   Sound status/input read
  99.                 R     x-------      (Self-test)
  100.                 R     ---x----      (Response buffer full)
  101.                 R     ----x---      (Command buffer full)
  102.                 R     -----x--      (Service coin)
  103.                 R     ------x-      (Left coin)
  104.                 R     -------x      (Right coin)
  105.     1824-1825     W   -------x   LED control
  106.     1826          W   -------x   Right coin counter
  107.     1827          W   -------x   Left coin counter
  108.     1870-187F   R/W   xxxxxxxx   POKEY communications
  109.     4000-FFFF   R     xxxxxxxx   Program ROM
  110.     ========================================================================
  111.     Interrupts:
  112.         IRQ = YM2151 interrupt
  113.         NMI = latch on sound command
  114.     ========================================================================
  115.  
  116. ****************************************************************************/
  117.  
  118.  
  119. #include "driver.h"
  120. #include "machine/atarigen.h"
  121. #include "vidhrdw/generic.h"
  122.  
  123.  
  124. extern UINT8 *atarisys1_bankselect;
  125. extern UINT8 *atarisys1_prioritycolor;
  126.  
  127. READ_HANDLER( atarisys1_int3state_r );
  128.  
  129. WRITE_HANDLER( atarisys1_playfieldram_w );
  130. WRITE_HANDLER( atarisys1_spriteram_w );
  131. WRITE_HANDLER( atarisys1_bankselect_w );
  132. WRITE_HANDLER( atarisys1_hscroll_w );
  133. WRITE_HANDLER( atarisys1_vscroll_w );
  134.  
  135. void atarisys1_scanline_update(int scanline);
  136.  
  137. int atarisys1_vh_start(void);
  138. void atarisys1_vh_stop(void);
  139. void atarisys1_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  140.  
  141.  
  142.  
  143. static UINT8 joystick_type;
  144. static UINT8 trackball_type;
  145.  
  146. static void *joystick_timer;
  147. static UINT8 joystick_int;
  148. static UINT8 joystick_int_enable;
  149. static UINT8 joystick_value;
  150.  
  151. static UINT8 m6522_ddra, m6522_ddrb;
  152. static UINT8 m6522_dra, m6522_drb;
  153. static UINT8 m6522_regs[16];
  154.  
  155. static UINT8 *marble_speedcheck;
  156. static UINT32 speedcheck_time1, speedcheck_time2;
  157.  
  158.  
  159.  
  160. /*************************************
  161.  *
  162.  *    Initialization of globals.
  163.  *
  164.  *************************************/
  165.  
  166. static void update_interrupts(void)
  167. {
  168.     int newstate = 0;
  169.  
  170.     /* all interrupts go through an LS148, which gives priority to the highest */
  171.     if (joystick_int && joystick_int_enable)
  172.         newstate = 2;
  173.     if (atarigen_scanline_int_state)
  174.         newstate = 3;
  175.     if (atarigen_video_int_state)
  176.         newstate = 4;
  177.     if (atarigen_sound_int_state)
  178.         newstate = 6;
  179.  
  180.     /* set the new state of the IRQ lines */
  181.     if (newstate)
  182.         cpu_set_irq_line(0, newstate, ASSERT_LINE);
  183.     else
  184.         cpu_set_irq_line(0, 7, CLEAR_LINE);
  185. }
  186.  
  187.  
  188. static void init_machine(void)
  189. {
  190.     /* initialize the system */
  191.     atarigen_eeprom_reset();
  192.     atarigen_slapstic_reset();
  193.     atarigen_interrupt_reset(update_interrupts);
  194.     atarigen_scanline_timer_reset(atarisys1_scanline_update, 8);
  195.     atarigen_sound_io_reset(1);
  196.  
  197.     /* reset the joystick parameters */
  198.     joystick_value = 0;
  199.     joystick_timer = NULL;
  200.     joystick_int = 0;
  201.     joystick_int_enable = 0;
  202.  
  203.     /* reset the 6522 controller */
  204.     m6522_ddra = m6522_ddrb = 0xff;
  205.     m6522_dra = m6522_drb = 0xff;
  206.     memset(m6522_regs, 0xff, sizeof(m6522_regs));
  207.  
  208.     /* reset the Marble Madness speedup checks */
  209.     speedcheck_time1 = speedcheck_time2 = 0;
  210. }
  211.  
  212.  
  213.  
  214. /*************************************
  215.  *
  216.  *    LED handlers.
  217.  *
  218.  *************************************/
  219.  
  220. static WRITE_HANDLER( led_w )
  221. {
  222.     osd_led_w(offset, ~data & 1);
  223. }
  224.  
  225.  
  226.  
  227. /*************************************
  228.  *
  229.  *    Joystick read.
  230.  *
  231.  *************************************/
  232.  
  233. static void delayed_joystick_int(int param)
  234. {
  235.     joystick_timer = NULL;
  236.     joystick_value = param;
  237.     joystick_int = 1;
  238.     atarigen_update_interrupts();
  239. }
  240.  
  241.  
  242. static READ_HANDLER( joystick_r )
  243. {
  244.     int newval = 0xff;
  245.  
  246.     /* digital joystick type */
  247.     if (joystick_type == 1)
  248.         newval = (input_port_0_r(offset) & (0x80 >> (offset / 2))) ? 0xf0 : 0x00;
  249.  
  250.     /* Hall-effect analog joystick */
  251.     else if (joystick_type == 2)
  252.         newval = (offset & 2) ? input_port_0_r(offset) : input_port_1_r(offset);
  253.  
  254.     /* Road Blasters gas pedal */
  255.     else if (joystick_type == 3)
  256.         newval = input_port_1_r(offset);
  257.  
  258.     /* set a timer on the joystick interrupt */
  259.     if (joystick_timer)
  260.         timer_remove(joystick_timer);
  261.     joystick_timer = NULL;
  262.  
  263.     /* the A4 bit enables/disables joystick IRQs */
  264.     joystick_int_enable = ((offset >> 4) & 1) ^ 1;
  265.  
  266.     /* clear any existing interrupt and set a timer for a new one */
  267.     joystick_int = 0;
  268.     joystick_timer = timer_set(TIME_IN_USEC(50), newval, delayed_joystick_int);
  269.     atarigen_update_interrupts();
  270.  
  271.     return joystick_value;
  272. }
  273.  
  274.  
  275. static WRITE_HANDLER( joystick_w )
  276. {
  277.     /* the A4 bit enables/disables joystick IRQs */
  278.     joystick_int_enable = ((offset >> 4) & 1) ^ 1;
  279. }
  280.  
  281.  
  282.  
  283. /*************************************
  284.  *
  285.  *    Trackball read.
  286.  *
  287.  *************************************/
  288.  
  289. static READ_HANDLER( trakball_r )
  290. {
  291.     int result = 0xff;
  292.  
  293.     /* Marble Madness trackball type -- rotated 45 degrees! */
  294.     if (trackball_type == 1)
  295.     {
  296.         static UINT8 cur[2][2];
  297.         int player = (offset >> 2) & 1;
  298.         int which = (offset >> 1) & 1;
  299.  
  300.         /* when reading the even ports, do a real analog port update */
  301.         if (which == 0)
  302.         {
  303.             UINT8 posx,posy;
  304.  
  305.             if (player == 0)
  306.             {
  307.                 posx = (INT8)input_port_0_r(offset);
  308.                 posy = (INT8)input_port_1_r(offset);
  309.             }
  310.             else
  311.             {
  312.                 posx = (INT8)input_port_2_r(offset);
  313.                 posy = (INT8)input_port_3_r(offset);
  314.             }
  315.  
  316.             cur[player][0] = posx + posy;
  317.             cur[player][1] = posx - posy;
  318.         }
  319.  
  320.         result = cur[player][which];
  321.     }
  322.  
  323.     /* Road Blasters steering wheel */
  324.     else if (trackball_type == 2)
  325.         result = input_port_0_r(offset);
  326.  
  327.     return result;
  328. }
  329.  
  330.  
  331.  
  332. /*************************************
  333.  *
  334.  *    I/O read dispatch.
  335.  *
  336.  *************************************/
  337.  
  338. static READ_HANDLER( input_r )
  339. {
  340.     int temp = input_port_4_r(offset);
  341.     if (atarigen_cpu_to_sound_ready) temp ^= 0x0080;
  342.     return temp;
  343. }
  344.  
  345.  
  346. static READ_HANDLER( switch_6502_r )
  347. {
  348.     int temp = input_port_5_r(offset);
  349.  
  350.     if (atarigen_cpu_to_sound_ready) temp ^= 0x08;
  351.     if (atarigen_sound_to_cpu_ready) temp ^= 0x10;
  352.     if (!(input_port_4_r(offset) & 0x0040)) temp ^= 0x80;
  353.  
  354.     return temp;
  355. }
  356.  
  357.  
  358.  
  359. /*************************************
  360.  *
  361.  *    TMS5220 communications
  362.  *
  363.  *************************************/
  364.  
  365. /*
  366.  *    All communication to the 5220 goes through an SY6522A, which is an overpowered chip
  367.  *    for the job.  Here is a listing of the I/O addresses:
  368.  *
  369.  *        $00    DRB        Data register B
  370.  *        $01    DRA        Data register A
  371.  *        $02    DDRB    Data direction register B (0=input, 1=output)
  372.  *        $03    DDRA    Data direction register A (0=input, 1=output)
  373.  *        $04    T1CL    T1 low counter
  374.  *        $05    T1CH    T1 high counter
  375.  *        $06    T1LL    T1 low latches
  376.  *        $07    T1LH    T1 high latches
  377.  *        $08    T2CL    T2 low counter
  378.  *        $09    T2CH    T2 high counter
  379.  *        $0A    SR        Shift register
  380.  *        $0B    ACR        Auxiliary control register
  381.  *        $0C    PCR        Peripheral control register
  382.  *        $0D    IFR        Interrupt flag register
  383.  *        $0E    IER        Interrupt enable register
  384.  *        $0F    NHDRA    No handshake DRA
  385.  *
  386.  *    Fortunately, only addresses $00,$01,$0B,$0C, and $0F are accessed in the code, and
  387.  *    $0B and $0C are merely set up once.
  388.  *
  389.  *    The ports are hooked in like follows:
  390.  *
  391.  *    Port A, D0-D7 = TMS5220 data lines (i/o)
  392.  *
  393.  *    Port B, D0 =     Write strobe (out)
  394.  *            D1 =     Read strobe (out)
  395.  *            D2 =     Ready signal (in)
  396.  *            D3 =     Interrupt signal (in)
  397.  *            D4 =     LED (out)
  398.  *            D5 =     ??? (out)
  399.  */
  400.  
  401. static READ_HANDLER( m6522_r )
  402. {
  403.     switch (offset)
  404.     {
  405.         case 0x00:    /* DRB */
  406.             return (m6522_drb & m6522_ddrb) | (!tms5220_ready_r() << 2) | (!tms5220_int_r() << 3);
  407.  
  408.         case 0x01:    /* DRA */
  409.         case 0x0f:    /* NHDRA */
  410.             return (m6522_dra & m6522_ddra);
  411.  
  412.         case 0x02:    /* DDRB */
  413.             return m6522_ddrb;
  414.  
  415.         case 0x03:    /* DDRA */
  416.             return m6522_ddra;
  417.  
  418.         default:
  419.             return m6522_regs[offset & 15];
  420.     }
  421. }
  422.  
  423.  
  424. WRITE_HANDLER( m6522_w )
  425. {
  426.     int old;
  427.  
  428.     switch (offset)
  429.     {
  430.         case 0x00:    /* DRB */
  431.             old = m6522_drb;
  432.             m6522_drb = (m6522_drb & ~m6522_ddrb) | (data & m6522_ddrb);
  433.             if (!(old & 1) && (m6522_drb & 1))
  434.                 tms5220_data_w(0, m6522_dra);
  435.             if (!(old & 2) && (m6522_drb & 2))
  436.                 m6522_dra = (m6522_dra & m6522_ddra) | (tms5220_status_r(0) & ~m6522_ddra);
  437.  
  438.             /* bit 4 is connected to an up-counter, clocked by SYCLKB */
  439.             data = 5 | ((data >> 3) & 2);
  440.             tms5220_set_frequency(ATARI_CLOCK_14MHz/2 / (16 - data));
  441.             break;
  442.  
  443.         case 0x01:    /* DRA */
  444.         case 0x0f:    /* NHDRA */
  445.             m6522_dra = (m6522_dra & ~m6522_ddra) | (data & m6522_ddra);
  446.             break;
  447.  
  448.         case 0x02:    /* DDRB */
  449.             m6522_ddrb = data;
  450.             break;
  451.  
  452.         case 0x03:    /* DDRA */
  453.             m6522_ddra = data;
  454.             break;
  455.  
  456.         default:
  457.             m6522_regs[offset & 15] = data;
  458.             break;
  459.     }
  460. }
  461.  
  462.  
  463.  
  464. /*************************************
  465.  *
  466.  *    Speed cheats
  467.  *
  468.  *************************************/
  469.  
  470. READ_HANDLER( marble_speedcheck_r )
  471. {
  472.     int result = READ_WORD(&marble_speedcheck[offset]);
  473.  
  474.     if (offset == 2 && result == 0)
  475.     {
  476.         int time = cpu_gettotalcycles();
  477.         if (time - speedcheck_time1 < 100 && speedcheck_time1 - speedcheck_time2 < 100)
  478.             cpu_spinuntil_int();
  479.  
  480.         speedcheck_time2 = speedcheck_time1;
  481.         speedcheck_time1 = time;
  482.     }
  483.  
  484.     return result;
  485. }
  486.  
  487.  
  488. WRITE_HANDLER( marble_speedcheck_w )
  489. {
  490.     COMBINE_WORD_MEM(&marble_speedcheck[offset], data);
  491.     speedcheck_time1 = cpu_gettotalcycles() - 1000;
  492.     speedcheck_time2 = speedcheck_time1 - 1000;
  493. }
  494.  
  495.  
  496.  
  497. /*************************************
  498.  *
  499.  *    Opcode memory catcher.
  500.  *
  501.  *************************************/
  502.  
  503. static OPBASE_HANDLER( indytemp_setopbase )
  504. {
  505.     int prevpc = cpu_getpreviouspc();
  506.  
  507.     /*
  508.      *    This is a slightly ugly kludge for Indiana Jones & the Temple of Doom because it jumps
  509.      *    directly to code in the slapstic.  The general order of things is this:
  510.      *
  511.      *        jump to $3A, which turns off interrupts and jumps to $00 (the reset address)
  512.      *        look up the request in a table and jump there
  513.      *        (under some circumstances, tweak the special addresses)
  514.      *        return via an RTS at the real bankswitch address
  515.      *
  516.      *    To simulate this, we tweak the slapstic reset address on entry into slapstic code; then
  517.      *    we let the system tweak whatever other addresses it wishes.  On exit, we tweak the
  518.      *    address of the previous PC, which is the RTS instruction, thereby completing the
  519.      *    bankswitch sequence.
  520.      *
  521.      *    Fortunately for us, all 4 banks have exactly the same code at this point in their
  522.      *    ROM, so it doesn't matter which version we're actually executing.
  523.      */
  524.  
  525.     if (address & 0x80000)
  526.         atarigen_slapstic_r(0);
  527.     else if (prevpc & 0x80000)
  528.         atarigen_slapstic_r(prevpc & 0x7fff);
  529.  
  530.     return address;
  531. }
  532.  
  533.  
  534.  
  535. /*************************************
  536.  *
  537.  *    Main CPU memory handlers
  538.  *
  539.  *************************************/
  540.  
  541. static struct MemoryReadAddress main_readmem[] =
  542. {
  543.     { 0x000000, 0x087fff, MRA_ROM },
  544.     { 0x2e0000, 0x2e0003, atarisys1_int3state_r },
  545.     { 0x400000, 0x401fff, MRA_BANK1 },
  546.     { 0x840000, 0x840003, MRA_BANK2 },
  547.     { 0x900000, 0x9fffff, MRA_BANK3 },
  548.     { 0xa00000, 0xa01fff, MRA_BANK4 },
  549.     { 0xa02000, 0xa02fff, MRA_BANK5 },
  550.     { 0xa03000, 0xa03fff, MRA_BANK6 },
  551.     { 0xb00000, 0xb007ff, paletteram_word_r },
  552.     { 0xf00000, 0xf00fff, atarigen_eeprom_r },
  553.     { 0xf20000, 0xf20007, trakball_r },
  554.     { 0xf40000, 0xf4001f, joystick_r },
  555.     { 0xf60000, 0xf60003, input_r },
  556.     { 0xfc0000, 0xfc0003, atarigen_sound_r },
  557.     { -1 }  /* end of table */
  558. };
  559.  
  560.  
  561. static struct MemoryWriteAddress main_writemem[] =
  562. {
  563.     { 0x000000, 0x087fff, MWA_ROM },
  564.     { 0x400000, 0x401fff, MWA_BANK1 },
  565.     { 0x800000, 0x800003, atarisys1_hscroll_w, &atarigen_hscroll },
  566.     { 0x820000, 0x820003, atarisys1_vscroll_w, &atarigen_vscroll },
  567.     { 0x840000, 0x840003, MWA_BANK2, &atarisys1_prioritycolor },
  568.     { 0x860000, 0x860003, atarisys1_bankselect_w, &atarisys1_bankselect },
  569.     { 0x880000, 0x880003, watchdog_reset_w },
  570.     { 0x8a0000, 0x8a0003, atarigen_video_int_ack_w },
  571.     { 0x8c0000, 0x8c0003, atarigen_eeprom_enable_w },
  572.     { 0x900000, 0x9fffff, MWA_BANK3 },
  573.     { 0xa00000, 0xa01fff, atarisys1_playfieldram_w, &atarigen_playfieldram, &atarigen_playfieldram_size },
  574.     { 0xa02000, 0xa02fff, atarisys1_spriteram_w, &atarigen_spriteram, &atarigen_spriteram_size },
  575.     { 0xa03000, 0xa03fff, MWA_BANK6, &atarigen_alpharam, &atarigen_alpharam_size },
  576.     { 0xb00000, 0xb007ff, paletteram_IIIIRRRRGGGGBBBB_word_w, &paletteram },
  577.     { 0xf00000, 0xf00fff, atarigen_eeprom_w, &atarigen_eeprom, &atarigen_eeprom_size },
  578.     { 0xf40000, 0xf4001f, joystick_w },
  579.     { 0xfe0000, 0xfe0003, atarigen_sound_w },
  580.     { -1 }  /* end of table */
  581. };
  582.  
  583.  
  584.  
  585. /*************************************
  586.  *
  587.  *    Sound CPU memory handlers
  588.  *
  589.  *************************************/
  590.  
  591. static struct MemoryReadAddress sound_readmem[] =
  592. {
  593.     { 0x0000, 0x0fff, MRA_RAM },
  594.     { 0x1000, 0x100f, m6522_r },
  595.     { 0x1800, 0x1801, YM2151_status_port_0_r },
  596.     { 0x1810, 0x1810, atarigen_6502_sound_r },
  597.     { 0x1820, 0x1820, switch_6502_r },
  598.     { 0x1870, 0x187f, pokey1_r },
  599.     { 0x4000, 0xffff, MRA_ROM },
  600.     { -1 }  /* end of table */
  601. };
  602.  
  603.  
  604. static struct MemoryWriteAddress sound_writemem[] =
  605. {
  606.     { 0x0000, 0x0fff, MWA_RAM },
  607.     { 0x1000, 0x100f, m6522_w },
  608.     { 0x1800, 0x1800, YM2151_register_port_0_w },
  609.     { 0x1801, 0x1801, YM2151_data_port_0_w },
  610.     { 0x1810, 0x1810, atarigen_6502_sound_w },
  611.     { 0x1824, 0x1825, led_w },
  612.     { 0x1820, 0x1827, MWA_NOP },
  613.     { 0x1870, 0x187f, pokey1_w },
  614.     { 0x4000, 0xffff, MWA_ROM },
  615.     { -1 }  /* end of table */
  616. };
  617.  
  618.  
  619.  
  620. /*************************************
  621.  *
  622.  *    Port definitions
  623.  *
  624.  *************************************/
  625.  
  626. INPUT_PORTS_START( marble )
  627.     PORT_START  /* F20000 */
  628.     PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_X | IPF_REVERSE | IPF_PLAYER1, 30, 30, 0, 0 )
  629.  
  630.     PORT_START  /* F20002 */
  631.     PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_Y | IPF_PLAYER1, 30, 30, 0, 0 )
  632.  
  633.     PORT_START  /* F20004 */
  634.     PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_X | IPF_REVERSE | IPF_PLAYER2, 30, 30, 0, 0 )
  635.  
  636.     PORT_START  /* F20006 */
  637.     PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_Y | IPF_PLAYER2, 30, 30, 0, 0 )
  638.  
  639.     PORT_START    /* F60000 */
  640.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
  641.     PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
  642.     PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED )
  643.     PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
  644.     PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_VBLANK )
  645.     PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
  646.     PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
  647.     PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL )
  648.     PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
  649.  
  650.     PORT_START    /* 1820 (sound) */
  651.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  652.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  653.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
  654.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )
  655.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
  656.     PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_UNUSED )
  657.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
  658. INPUT_PORTS_END
  659.  
  660.  
  661. INPUT_PORTS_START( peterpak )
  662.     PORT_START    /* F40000 */
  663.     PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
  664.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
  665.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
  666.     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
  667.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
  668.  
  669.     PORT_START    /* n/a */
  670.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  671.  
  672.     PORT_START    /* n/a */
  673.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  674.  
  675.     PORT_START    /* n/a */
  676.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  677.  
  678.     PORT_START    /* F60000 */
  679.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
  680.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )
  681.     PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
  682.     PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 )
  683.     PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
  684.     PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_VBLANK )
  685.     PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
  686.     PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
  687.     PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL )
  688.     PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
  689.  
  690.     PORT_START    /* 1820 (sound) */
  691.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  692.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  693.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
  694.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )
  695.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
  696.     PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_UNUSED )
  697.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
  698. INPUT_PORTS_END
  699.  
  700.  
  701. INPUT_PORTS_START( indytemp )
  702.     PORT_START    /* F40000 */
  703.     PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
  704.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
  705.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
  706.     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
  707.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
  708.  
  709.     PORT_START    /* n/a */
  710.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  711.  
  712.     PORT_START    /* n/a */
  713.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  714.  
  715.     PORT_START    /* n/a */
  716.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  717.  
  718.     PORT_START    /* F60000 */
  719.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
  720.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )
  721.     PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
  722.     PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* freeze? */
  723.     PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
  724.     PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_VBLANK )
  725.     PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
  726.     PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
  727.     PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL )
  728.     PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
  729.  
  730.     PORT_START    /* 1820 (sound) */
  731.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  732.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  733.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
  734.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )
  735.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
  736.     PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_UNUSED )
  737.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
  738. INPUT_PORTS_END
  739.  
  740.  
  741. INPUT_PORTS_START( roadrunn )
  742.     PORT_START    /* F40000 */
  743.     PORT_ANALOG( 0xff, 0x80, IPT_AD_STICK_X | IPF_REVERSE | IPF_PLAYER1, 100, 10, 0x10, 0xf0 )
  744.  
  745.     PORT_START    /* F40002 */
  746.     PORT_ANALOG( 0xff, 0x80, IPT_AD_STICK_Y | IPF_PLAYER1, 100, 10, 0x10, 0xf0 )
  747.  
  748.     PORT_START    /* n/a */
  749.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  750.  
  751.     PORT_START    /* n/a */
  752.     PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  753.  
  754.     PORT_START    /* F60000 */
  755.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
  756.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )
  757.     PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
  758.     PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 )
  759.     PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON3 )
  760.     PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_VBLANK )
  761.     PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
  762.     PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
  763.     PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL )
  764.     PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
  765.  
  766.     PORT_START    /* 1820 (sound) */
  767.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  768.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  769.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
  770.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )
  771.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
  772.     PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_UNUSED )
  773.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
  774. INPUT_PORTS_END
  775.  
  776.  
  777. INPUT_PORTS_START( roadblst )
  778.     PORT_START    /* F20000 */
  779.     PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_REVERSE, 25, 10, 0x00, 0x7f )
  780.  
  781.     PORT_START    /* F40000 */
  782.     PORT_ANALOG( 0xff, 0x00, IPT_PEDAL, 100, 64, 0x00, 0xff )
  783.  
  784.     PORT_START    /* n/a */
  785.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  786.  
  787.     PORT_START    /* n/a */
  788.     PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
  789.  
  790.     PORT_START    /* F60000 */
  791.     PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON3 )
  792.     PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 )
  793.     PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED )
  794.     PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
  795.     PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_VBLANK )
  796.     PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
  797.     PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
  798.     PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL )
  799.     PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
  800.  
  801.     PORT_START    /* 1820 (sound) */
  802.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  803.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  804.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
  805.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )
  806.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
  807.     PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_UNUSED )
  808.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )
  809. INPUT_PORTS_END
  810.  
  811.  
  812.  
  813. /*************************************
  814.  *
  815.  *    Graphics definitions
  816.  *
  817.  *************************************/
  818.  
  819. static struct GfxLayout anlayout =
  820. {
  821.     8,8,
  822.     RGN_FRAC(1,1),
  823.     2,
  824.     { 0, 4 },
  825.     { 0, 1, 2, 3, 8, 9, 10, 11 },
  826.     { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
  827.     8*16
  828. };
  829.  
  830.  
  831. static struct GfxDecodeInfo gfxdecodeinfo[] =
  832. {
  833.     { REGION_GFX1, 0x00000, &anlayout,       0, 64 },
  834.     { -1 } /* end of array */
  835. };
  836.  
  837.  
  838.  
  839. /*************************************
  840.  *
  841.  *    Sound definitions
  842.  *
  843.  *************************************/
  844.  
  845. static struct YM2151interface ym2151_interface =
  846. {
  847.     1,
  848.     ATARI_CLOCK_14MHz/4,
  849.     { YM3012_VOL(80,MIXER_PAN_LEFT,80,MIXER_PAN_RIGHT) },
  850.     { atarigen_ym2151_irq_gen }
  851. };
  852.  
  853.  
  854. static struct POKEYinterface pokey_interface =
  855. {
  856.     1,
  857.     ATARI_CLOCK_14MHz/8,
  858.     { 40 },
  859. };
  860.  
  861.  
  862. static struct TMS5220interface tms5220_interface =
  863. {
  864.     ATARI_CLOCK_14MHz/2/11,
  865.     100,
  866.     0
  867. };
  868.  
  869.  
  870.  
  871. /*************************************
  872.  *
  873.  *    Machine driver
  874.  *
  875.  *************************************/
  876.  
  877. static struct MachineDriver machine_driver_atarisy1 =
  878. {
  879.     /* basic machine hardware */
  880.     {
  881.         {
  882.             CPU_M68010,        /* verified */
  883.             ATARI_CLOCK_14MHz/2,
  884.             main_readmem,main_writemem,0,0,
  885.             atarigen_video_int_gen,1
  886.         },
  887.         {
  888.             CPU_M6502,
  889.             ATARI_CLOCK_14MHz/8,
  890.             sound_readmem,sound_writemem,0,0,
  891.             ignore_interrupt,1
  892.         },
  893.     },
  894.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,
  895.     1,
  896.     init_machine,
  897.  
  898.     /* video hardware */
  899.     42*8, 30*8, { 0*8, 42*8-1, 0*8, 30*8-1 },
  900.     gfxdecodeinfo,
  901.     1024, 1024,
  902.     0,
  903.  
  904.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE | VIDEO_UPDATE_BEFORE_VBLANK,
  905.     0,
  906.     atarisys1_vh_start,
  907.     atarisys1_vh_stop,
  908.     atarisys1_vh_screenrefresh,
  909.  
  910.     /* sound hardware */
  911.     SOUND_SUPPORTS_STEREO,0,0,0,
  912.     {
  913.         {
  914.             SOUND_YM2151,
  915.             &ym2151_interface
  916.         },
  917.         {
  918.             SOUND_POKEY,
  919.             &pokey_interface
  920.         },
  921.         {
  922.             SOUND_TMS5220,
  923.             &tms5220_interface
  924.         }
  925.     },
  926.  
  927.     atarigen_nvram_handler
  928. };
  929.  
  930.  
  931.  
  932. /*************************************
  933.  *
  934.  *    ROM decoders
  935.  *
  936.  *************************************/
  937.  
  938. static void rom_decode(void)
  939. {
  940.     UINT32 *data = (UINT32 *)&memory_region(REGION_GFX2)[0];
  941.     int chips = memory_region_length(REGION_GFX2) / 0x8000;
  942.     int i, j;
  943.  
  944.     /* invert the graphics bits on the playfield and motion objects */
  945.     for (i = 0; i < chips; i++, data += 0x2000)
  946.     {
  947.         /* but first... if this is all zeros, don't do it */
  948.         for (j = 0; j < 0x2000; j++)
  949.             if (data[j] != 0)
  950.                 break;
  951.  
  952.         if (j != 0x2000)
  953.             for (j = 0; j < 0x2000; j++)
  954.                 data[j] ^= 0xffffffff;
  955.     }
  956. }
  957.  
  958.  
  959. static void roadblst_rom_decode(void)
  960. {
  961.     int i;
  962.  
  963.     /* ROMs 39+40 load the lower half at 10000 and the upper half at 50000 */
  964.     /* ROMs 55+56 load the lower half at 20000 and the upper half at 60000 */
  965.     /* However, we load 39+40 into 10000 and 20000, and 55+56 into 50000+60000 */
  966.     /* We need to swap the memory at 20000 and 50000 */
  967.     for (i = 0; i < 0x10000; i++)
  968.     {
  969.         int temp = memory_region(REGION_CPU1)[0x20000 + i];
  970.         memory_region(REGION_CPU1)[0x20000 + i] = memory_region(REGION_CPU1)[0x50000 + i];
  971.         memory_region(REGION_CPU1)[0x50000 + i] = temp;
  972.     }
  973.  
  974.     /* invert the graphics bits on the playfield and motion objects */
  975.     rom_decode();
  976. }
  977.  
  978.  
  979.  
  980. /*************************************
  981.  *
  982.  *    Driver initialization
  983.  *
  984.  *************************************/
  985.  
  986. static void init_marble(void)
  987. {
  988.     atarigen_eeprom_default = NULL;
  989.     atarigen_slapstic_init(0, 0x080000, 103);
  990.  
  991.     joystick_type = 0;    /* none */
  992.     trackball_type = 1;    /* rotated */
  993.  
  994.     /* speed up the 6502 */
  995.     atarigen_init_6502_speedup(1, 0x8108, 0x8120);
  996.  
  997.     /* speed up the 68010 */
  998.     marble_speedcheck = install_mem_read_handler(0, 0x400014, 0x400015, marble_speedcheck_r);
  999.     install_mem_write_handler(0, 0x400014, 0x400015, marble_speedcheck_w);
  1000.  
  1001.     /* display messages */
  1002.     atarigen_show_sound_message();
  1003.  
  1004.     rom_decode();
  1005. }
  1006.  
  1007.  
  1008. static void init_peterpak(void)
  1009. {
  1010.     atarigen_eeprom_default = NULL;
  1011.     atarigen_slapstic_init(0, 0x080000, 107);
  1012.  
  1013.     joystick_type = 1;    /* digital */
  1014.     trackball_type = 0;    /* none */
  1015.  
  1016.     /* speed up the 6502 */
  1017.     atarigen_init_6502_speedup(1, 0x8101, 0x8119);
  1018.  
  1019.     /* display messages */
  1020.     atarigen_show_sound_message();
  1021.  
  1022.     rom_decode();
  1023. }
  1024.  
  1025.  
  1026. static void init_indytemp(void)
  1027. {
  1028.     atarigen_eeprom_default = NULL;
  1029.     atarigen_slapstic_init(0, 0x080000, 105);
  1030.  
  1031.     /* special case for the Indiana Jones slapstic */
  1032.     cpu_setOPbaseoverride(0,indytemp_setopbase);
  1033.  
  1034.     joystick_type = 1;    /* digital */
  1035.     trackball_type = 0;    /* none */
  1036.  
  1037.     /* speed up the 6502 */
  1038.     atarigen_init_6502_speedup(1, 0x410b, 0x4123);
  1039.  
  1040.     /* display messages */
  1041.     atarigen_show_sound_message();
  1042.  
  1043.     rom_decode();
  1044. }
  1045.  
  1046.  
  1047. static void init_roadrunn(void)
  1048. {
  1049.     atarigen_eeprom_default = NULL;
  1050.     atarigen_slapstic_init(0, 0x080000, 108);
  1051.  
  1052.     joystick_type = 2;    /* analog */
  1053.     trackball_type = 0;    /* none */
  1054.  
  1055.     /* speed up the 6502 */
  1056.     atarigen_init_6502_speedup(1, 0x8106, 0x811e);
  1057.  
  1058.     /* display messages */
  1059.     atarigen_show_sound_message();
  1060.  
  1061.     rom_decode();
  1062. }
  1063.  
  1064.  
  1065. static void init_roadblst(void)
  1066. {
  1067.     atarigen_eeprom_default = NULL;
  1068.     atarigen_slapstic_init(0, 0x080000, 110);
  1069.  
  1070.     joystick_type = 3;    /* pedal */
  1071.     trackball_type = 2;    /* steering wheel */
  1072.  
  1073.     /* speed up the 6502 */
  1074.     atarigen_init_6502_speedup(1, 0x410b, 0x4123);
  1075.  
  1076.     /* display messages */
  1077.     atarigen_show_sound_message();
  1078.  
  1079.     roadblst_rom_decode();
  1080. }
  1081.  
  1082.  
  1083.  
  1084. /*************************************
  1085.  *
  1086.  *    ROM definition(s)
  1087.  *
  1088.  *************************************/
  1089.  
  1090. ROM_START( marble )
  1091.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1092.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1093.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1094.     ROM_LOAD_EVEN( "136033.401",   0x10000, 0x08000, 0xecfc25a2 )
  1095.     ROM_LOAD_ODD ( "136033.402",   0x10000, 0x08000, 0x7ce9bf53 )
  1096.     ROM_LOAD_EVEN( "136033.403",   0x20000, 0x08000, 0xdafee7a2 )
  1097.     ROM_LOAD_ODD ( "136033.404",   0x20000, 0x08000, 0xb59ffcf6 )
  1098.     ROM_LOAD_EVEN( "136033.107",   0x80000, 0x04000, 0xf3b8745b )
  1099.     ROM_LOAD_ODD ( "136033.108",   0x80000, 0x04000, 0xe51eecaa )
  1100.  
  1101.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1102.     ROM_LOAD( "136033.421",   0x8000, 0x4000, 0x78153dc3 )
  1103.     ROM_LOAD( "136033.422",   0xc000, 0x4000, 0x2e66300e )
  1104.  
  1105.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1106.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1107.  
  1108.     ROM_REGION( 0x60000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1109.     ROM_LOAD( "136033.137",   0x00000, 0x04000, 0x7a45f5c1 )  /* bank 1, plane 0 */
  1110.     ROM_LOAD( "136033.138",   0x04000, 0x04000, 0x7e954a88 )
  1111.     ROM_LOAD( "136033.139",   0x08000, 0x04000, 0x1eb1bb5f )  /* bank 1, plane 1 */
  1112.     ROM_LOAD( "136033.140",   0x0c000, 0x04000, 0x8a82467b )
  1113.     ROM_LOAD( "136033.141",   0x10000, 0x04000, 0x52448965 )  /* bank 1, plane 2 */
  1114.     ROM_LOAD( "136033.142",   0x14000, 0x04000, 0xb4a70e4f )
  1115.     ROM_LOAD( "136033.143",   0x18000, 0x04000, 0x7156e449 )  /* bank 1, plane 3 */
  1116.     ROM_LOAD( "136033.144",   0x1c000, 0x04000, 0x4c3e4c79 )
  1117.     ROM_LOAD( "136033.145",   0x20000, 0x04000, 0x9062be7f )  /* bank 1, plane 4 */
  1118.     ROM_LOAD( "136033.146",   0x24000, 0x04000, 0x14566dca )
  1119.  
  1120.     ROM_LOAD( "136033.149",   0x34000, 0x04000, 0xb6658f06 )  /* bank 2, plane 0 */
  1121.     ROM_LOAD( "136033.151",   0x3c000, 0x04000, 0x84ee1c80 )  /* bank 2, plane 1 */
  1122.     ROM_LOAD( "136033.153",   0x44000, 0x04000, 0xdaa02926 )  /* bank 2, plane 2 */
  1123.  
  1124.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1125.     ROM_LOAD( "136033.118",   0x000, 0x200, 0x2101b0ed )  /* remap */
  1126.     ROM_LOAD( "136033.119",   0x200, 0x200, 0x19f6e767 )  /* color */
  1127. ROM_END
  1128.  
  1129. ROM_START( marble2 )
  1130.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1131.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1132.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1133.     ROM_LOAD_EVEN( "136033.201",   0x10000, 0x08000, 0x9395804d )
  1134.     ROM_LOAD_ODD ( "136033.202",   0x10000, 0x08000, 0xedd313f5 )
  1135.     ROM_LOAD_EVEN( "136033.403",   0x20000, 0x08000, 0xdafee7a2 )
  1136.     ROM_LOAD_ODD ( "136033.204",   0x20000, 0x08000, 0x4d621731 )
  1137.     ROM_LOAD_EVEN( "136033.107",   0x80000, 0x04000, 0xf3b8745b )
  1138.     ROM_LOAD_ODD ( "136033.108",   0x80000, 0x04000, 0xe51eecaa )
  1139.  
  1140.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1141.     ROM_LOAD( "136033.121",   0x8000, 0x4000, 0x73fe2b46 )
  1142.     ROM_LOAD( "136033.122",   0xc000, 0x4000, 0x03bf65c3 )
  1143.  
  1144.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1145.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1146.  
  1147.     ROM_REGION( 0x60000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1148.     ROM_LOAD( "136033.137",   0x00000, 0x04000, 0x7a45f5c1 )  /* bank 1, plane 0 */
  1149.     ROM_LOAD( "136033.138",   0x04000, 0x04000, 0x7e954a88 )
  1150.     ROM_LOAD( "136033.139",   0x08000, 0x04000, 0x1eb1bb5f )  /* bank 1, plane 1 */
  1151.     ROM_LOAD( "136033.140",   0x0c000, 0x04000, 0x8a82467b )
  1152.     ROM_LOAD( "136033.141",   0x10000, 0x04000, 0x52448965 )  /* bank 1, plane 2 */
  1153.     ROM_LOAD( "136033.142",   0x14000, 0x04000, 0xb4a70e4f )
  1154.     ROM_LOAD( "136033.143",   0x18000, 0x04000, 0x7156e449 )  /* bank 1, plane 3 */
  1155.     ROM_LOAD( "136033.144",   0x1c000, 0x04000, 0x4c3e4c79 )
  1156.     ROM_LOAD( "136033.145",   0x20000, 0x04000, 0x9062be7f )  /* bank 1, plane 4 */
  1157.     ROM_LOAD( "136033.146",   0x24000, 0x04000, 0x14566dca )
  1158.  
  1159.     ROM_LOAD( "136033.149",   0x34000, 0x04000, 0xb6658f06 )  /* bank 2, plane 0 */
  1160.     ROM_LOAD( "136033.151",   0x3c000, 0x04000, 0x84ee1c80 )  /* bank 2, plane 1 */
  1161.     ROM_LOAD( "136033.153",   0x44000, 0x04000, 0xdaa02926 )  /* bank 2, plane 2 */
  1162.  
  1163.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1164.     ROM_LOAD( "136033.118",   0x000, 0x200, 0x2101b0ed )  /* remap */
  1165.     ROM_LOAD( "136033.119",   0x200, 0x200, 0x19f6e767 )  /* color */
  1166. ROM_END
  1167.  
  1168. ROM_START( marblea )
  1169.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1170.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1171.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1172.     ROM_LOAD_EVEN( "136033.323",   0x10000, 0x04000, 0x4dc2987a )
  1173.     ROM_LOAD_ODD ( "136033.324",   0x10000, 0x04000, 0xe22e6e11 )
  1174.     ROM_LOAD_EVEN( "136033.225",   0x18000, 0x04000, 0x743f6c5c )
  1175.     ROM_LOAD_ODD ( "136033.226",   0x18000, 0x04000, 0xaeb711e3 )
  1176.     ROM_LOAD_EVEN( "136033.227",   0x20000, 0x04000, 0xd06d2c22 )
  1177.     ROM_LOAD_ODD ( "136033.228",   0x20000, 0x04000, 0xe69cec16 )
  1178.     ROM_LOAD_EVEN( "136033.229",   0x28000, 0x04000, 0xc81d5c14 )
  1179.     ROM_LOAD_ODD ( "136033.230",   0x28000, 0x04000, 0x526ce8ad )
  1180.     ROM_LOAD_EVEN( "136033.107",   0x80000, 0x04000, 0xf3b8745b )
  1181.     ROM_LOAD_ODD ( "136033.108",   0x80000, 0x04000, 0xe51eecaa )
  1182.  
  1183.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1184.     ROM_LOAD( "136033.257",   0x8000, 0x4000, 0x2e2e0df8 )
  1185.     ROM_LOAD( "136033.258",   0xc000, 0x4000, 0x1b9655cd )
  1186.  
  1187.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1188.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1189.  
  1190.     ROM_REGION( 0x60000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1191.     ROM_LOAD( "136033.137",   0x00000, 0x04000, 0x7a45f5c1 )  /* bank 1, plane 0 */
  1192.     ROM_LOAD( "136033.138",   0x04000, 0x04000, 0x7e954a88 )
  1193.     ROM_LOAD( "136033.139",   0x08000, 0x04000, 0x1eb1bb5f )  /* bank 1, plane 1 */
  1194.     ROM_LOAD( "136033.140",   0x0c000, 0x04000, 0x8a82467b )
  1195.     ROM_LOAD( "136033.141",   0x10000, 0x04000, 0x52448965 )  /* bank 1, plane 2 */
  1196.     ROM_LOAD( "136033.142",   0x14000, 0x04000, 0xb4a70e4f )
  1197.     ROM_LOAD( "136033.143",   0x18000, 0x04000, 0x7156e449 )  /* bank 1, plane 3 */
  1198.     ROM_LOAD( "136033.144",   0x1c000, 0x04000, 0x4c3e4c79 )
  1199.     ROM_LOAD( "136033.145",   0x20000, 0x04000, 0x9062be7f )  /* bank 1, plane 4 */
  1200.     ROM_LOAD( "136033.146",   0x24000, 0x04000, 0x14566dca )
  1201.  
  1202.     ROM_LOAD( "136033.149",   0x34000, 0x04000, 0xb6658f06 )  /* bank 2, plane 0 */
  1203.     ROM_LOAD( "136033.151",   0x3c000, 0x04000, 0x84ee1c80 )  /* bank 2, plane 1 */
  1204.     ROM_LOAD( "136033.153",   0x44000, 0x04000, 0xdaa02926 )  /* bank 2, plane 2 */
  1205.  
  1206.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1207.     ROM_LOAD( "136033.118",   0x000, 0x200, 0x2101b0ed )  /* remap */
  1208.     ROM_LOAD( "136033.119",   0x200, 0x200, 0x19f6e767 )  /* color */
  1209. ROM_END
  1210.  
  1211. ROM_START( peterpak )
  1212.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1213.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1214.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1215.     ROM_LOAD_EVEN( "136028.142",   0x10000, 0x04000, 0x4f9fc020 )
  1216.     ROM_LOAD_ODD ( "136028.143",   0x10000, 0x04000, 0x9fb257cc )
  1217.     ROM_LOAD_EVEN( "136028.144",   0x18000, 0x04000, 0x50267619 )
  1218.     ROM_LOAD_ODD ( "136028.145",   0x18000, 0x04000, 0x7b6a5004 )
  1219.     ROM_LOAD_EVEN( "136028.146",   0x20000, 0x04000, 0x4183a67a )
  1220.     ROM_LOAD_ODD ( "136028.147",   0x20000, 0x04000, 0x14e2d97b )
  1221.     ROM_LOAD_EVEN( "136028.148",   0x80000, 0x04000, 0x230e8ba9 )
  1222.     ROM_LOAD_ODD ( "136028.149",   0x80000, 0x04000, 0x0ff0c13a )
  1223.  
  1224.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1225.     ROM_LOAD( "136028.101",   0x8000, 0x4000, 0xff712aa2 )
  1226.     ROM_LOAD( "136028.102",   0xc000, 0x4000, 0x89ea21a1 )
  1227.  
  1228.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1229.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1230.  
  1231.     ROM_REGION( 0x90000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1232.     ROM_LOAD( "136028.138",   0x00000, 0x08000, 0x53eaa018 )  /* bank 1, plane 0 */
  1233.     ROM_LOAD( "136028.139",   0x08000, 0x08000, 0x354a19cb )  /* bank 1, plane 1 */
  1234.     ROM_LOAD( "136028.140",   0x10000, 0x08000, 0x8d2c4717 )  /* bank 1, plane 2 */
  1235.     ROM_LOAD( "136028.141",   0x18000, 0x08000, 0xbf59ea19 )  /* bank 1, plane 3 */
  1236.  
  1237.     ROM_LOAD( "136028.150",   0x30000, 0x08000, 0x83362483 )  /* bank 2, plane 0 */
  1238.     ROM_LOAD( "136028.151",   0x38000, 0x08000, 0x6e95094e )  /* bank 2, plane 1 */
  1239.     ROM_LOAD( "136028.152",   0x40000, 0x08000, 0x9553f084 )  /* bank 2, plane 2 */
  1240.     ROM_LOAD( "136028.153",   0x48000, 0x08000, 0xc2a9b028 )  /* bank 2, plane 3 */
  1241.  
  1242.     ROM_LOAD( "136028.105",   0x64000, 0x04000, 0xac9a5a44 )  /* bank 3, plane 0 */
  1243.     ROM_LOAD( "136028.108",   0x6c000, 0x04000, 0x51941e64 )  /* bank 3, plane 1 */
  1244.     ROM_LOAD( "136028.111",   0x74000, 0x04000, 0x246599f3 )  /* bank 3, plane 2 */
  1245.     ROM_LOAD( "136028.114",   0x7c000, 0x04000, 0x918a5082 )  /* bank 3, plane 3 */
  1246.  
  1247.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1248.     ROM_LOAD( "136028.136",   0x000, 0x200, 0x861cfa36 )  /* remap */
  1249.     ROM_LOAD( "136028.137",   0x200, 0x200, 0x8507e5ea )  /* color */
  1250. ROM_END
  1251.  
  1252. ROM_START( indytemp )
  1253.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1254.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1255.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1256.     ROM_LOAD_EVEN( "136036.432",   0x10000, 0x08000, 0xd888cdf1 )
  1257.     ROM_LOAD_ODD ( "136036.431",   0x10000, 0x08000, 0xb7ac7431 )
  1258.     ROM_LOAD_EVEN( "136036.434",   0x20000, 0x08000, 0x802495fd )
  1259.     ROM_LOAD_ODD ( "136036.433",   0x20000, 0x08000, 0x3a914e5c )
  1260.     ROM_LOAD_EVEN( "136036.456",   0x30000, 0x04000, 0xec146b09 )
  1261.     ROM_LOAD_ODD ( "136036.457",   0x30000, 0x04000, 0x6628de01 )
  1262.     ROM_LOAD_EVEN( "136036.358",   0x80000, 0x04000, 0xd9351106 )
  1263.     ROM_LOAD_ODD ( "136036.359",   0x80000, 0x04000, 0xe731caea )
  1264.  
  1265.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1266.     ROM_LOAD( "136036.153",   0x4000, 0x4000, 0x95294641 )
  1267.     ROM_LOAD( "136036.154",   0x8000, 0x4000, 0xcbfc6adb )
  1268.     ROM_LOAD( "136036.155",   0xc000, 0x4000, 0x4c8233ac )
  1269.  
  1270.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1271.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1272.  
  1273.     ROM_REGION( 0xc0000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1274.     ROM_LOAD( "136036.135",   0x00000, 0x08000, 0xffa8749c )  /* bank 1, plane 0 */
  1275.     ROM_LOAD( "136036.139",   0x08000, 0x08000, 0xb682bfca )  /* bank 1, plane 1 */
  1276.     ROM_LOAD( "136036.143",   0x10000, 0x08000, 0x7697da26 )  /* bank 1, plane 2 */
  1277.     ROM_LOAD( "136036.147",   0x18000, 0x08000, 0x4e9d664c )  /* bank 1, plane 3 */
  1278.  
  1279.     ROM_LOAD( "136036.136",   0x30000, 0x08000, 0xb2b403aa )  /* bank 2, plane 0 */
  1280.     ROM_LOAD( "136036.140",   0x38000, 0x08000, 0xec0c19ca )  /* bank 2, plane 1 */
  1281.     ROM_LOAD( "136036.144",   0x40000, 0x08000, 0x4407df98 )  /* bank 2, plane 2 */
  1282.     ROM_LOAD( "136036.148",   0x48000, 0x08000, 0x70dce06d )  /* bank 2, plane 3 */
  1283.  
  1284.     ROM_LOAD( "136036.137",   0x60000, 0x08000, 0x3f352547 )  /* bank 3, plane 0 */
  1285.     ROM_LOAD( "136036.141",   0x68000, 0x08000, 0x9cbdffd0 )  /* bank 3, plane 1 */
  1286.     ROM_LOAD( "136036.145",   0x70000, 0x08000, 0xe828e64b )  /* bank 3, plane 2 */
  1287.     ROM_LOAD( "136036.149",   0x78000, 0x08000, 0x81503a23 )  /* bank 3, plane 3 */
  1288.  
  1289.     ROM_LOAD( "136036.138",   0x90000, 0x08000, 0x48c4d79d )  /* bank 4, plane 0 */
  1290.     ROM_LOAD( "136036.142",   0x98000, 0x08000, 0x7faae75f )  /* bank 4, plane 1 */
  1291.     ROM_LOAD( "136036.146",   0xa0000, 0x08000, 0x8ae5a7b5 )  /* bank 4, plane 2 */
  1292.     ROM_LOAD( "136036.150",   0xa8000, 0x08000, 0xa10c4bd9 )  /* bank 4, plane 3 */
  1293.  
  1294.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1295.     ROM_LOAD( "136036.152",   0x000, 0x200, 0x4f96e57c )  /* remap */
  1296.     ROM_LOAD( "136036.151",   0x200, 0x200, 0x7daf351f )  /* color */
  1297. ROM_END
  1298.  
  1299. ROM_START( indytem2 )
  1300.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1301.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1302.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1303.     ROM_LOAD_EVEN( "136036.470",   0x10000, 0x08000, 0x7fac1dd8 )
  1304.     ROM_LOAD_ODD ( "136036.471",   0x10000, 0x08000, 0xe93272fb )
  1305.     ROM_LOAD_EVEN( "136036.434",   0x20000, 0x08000, 0x802495fd )
  1306.     ROM_LOAD_ODD ( "136036.433",   0x20000, 0x08000, 0x3a914e5c )
  1307.     ROM_LOAD_EVEN( "136036.456",   0x30000, 0x04000, 0xec146b09 )
  1308.     ROM_LOAD_ODD ( "136036.457",   0x30000, 0x04000, 0x6628de01 )
  1309.     ROM_LOAD_EVEN( "136036.358",   0x80000, 0x04000, 0xd9351106 )
  1310.     ROM_LOAD_ODD ( "136036.359",   0x80000, 0x04000, 0xe731caea )
  1311.  
  1312.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1313.     ROM_LOAD( "136036.153",   0x4000, 0x4000, 0x95294641 )
  1314.     ROM_LOAD( "136036.154",   0x8000, 0x4000, 0xcbfc6adb )
  1315.     ROM_LOAD( "136036.155",   0xc000, 0x4000, 0x4c8233ac )
  1316.  
  1317.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1318.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1319.  
  1320.     ROM_REGION( 0xc0000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1321.     ROM_LOAD( "136036.135",   0x00000, 0x08000, 0xffa8749c )  /* bank 1, plane 0 */
  1322.     ROM_LOAD( "136036.139",   0x08000, 0x08000, 0xb682bfca )  /* bank 1, plane 1 */
  1323.     ROM_LOAD( "136036.143",   0x10000, 0x08000, 0x7697da26 )  /* bank 1, plane 2 */
  1324.     ROM_LOAD( "136036.147",   0x18000, 0x08000, 0x4e9d664c )  /* bank 1, plane 3 */
  1325.  
  1326.     ROM_LOAD( "136036.136",   0x30000, 0x08000, 0xb2b403aa )  /* bank 2, plane 0 */
  1327.     ROM_LOAD( "136036.140",   0x38000, 0x08000, 0xec0c19ca )  /* bank 2, plane 1 */
  1328.     ROM_LOAD( "136036.144",   0x40000, 0x08000, 0x4407df98 )  /* bank 2, plane 2 */
  1329.     ROM_LOAD( "136036.148",   0x48000, 0x08000, 0x70dce06d )  /* bank 2, plane 3 */
  1330.  
  1331.     ROM_LOAD( "136036.137",   0x60000, 0x08000, 0x3f352547 )  /* bank 3, plane 0 */
  1332.     ROM_LOAD( "136036.141",   0x68000, 0x08000, 0x9cbdffd0 )  /* bank 3, plane 1 */
  1333.     ROM_LOAD( "136036.145",   0x70000, 0x08000, 0xe828e64b )  /* bank 3, plane 2 */
  1334.     ROM_LOAD( "136036.149",   0x78000, 0x08000, 0x81503a23 )  /* bank 3, plane 3 */
  1335.  
  1336.     ROM_LOAD( "136036.138",   0x90000, 0x08000, 0x48c4d79d )  /* bank 4, plane 0 */
  1337.     ROM_LOAD( "136036.142",   0x98000, 0x08000, 0x7faae75f )  /* bank 4, plane 1 */
  1338.     ROM_LOAD( "136036.146",   0xa0000, 0x08000, 0x8ae5a7b5 )  /* bank 4, plane 2 */
  1339.     ROM_LOAD( "136036.150",   0xa8000, 0x08000, 0xa10c4bd9 )  /* bank 4, plane 3 */
  1340.  
  1341.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1342.     ROM_LOAD( "136036.152",   0x000, 0x200, 0x4f96e57c )  /* remap */
  1343.     ROM_LOAD( "136036.151",   0x200, 0x200, 0x7daf351f )  /* color */
  1344. ROM_END
  1345.  
  1346. ROM_START( indytem3 )
  1347.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1348.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1349.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1350.     ROM_LOAD_EVEN( "232.10b",      0x10000, 0x08000, 0x1e80108f )
  1351.     ROM_LOAD_ODD ( "231.10a",      0x10000, 0x08000, 0x8ae54c0c )
  1352.     ROM_LOAD_EVEN( "234.12b",      0x20000, 0x08000, 0x86be7e07 )
  1353.     ROM_LOAD_ODD ( "233.12a",      0x20000, 0x08000, 0xbfcea7ae )
  1354.     ROM_LOAD_EVEN( "256.15b",      0x30000, 0x04000, 0x3a076fd2 )
  1355.     ROM_LOAD_ODD ( "257.15a",      0x30000, 0x04000, 0x15293606 )
  1356.     ROM_LOAD_EVEN( "158.16b",      0x80000, 0x04000, 0x10372888 )
  1357.     ROM_LOAD_ODD ( "159.16a",      0x80000, 0x04000, 0x50f890a8 )
  1358.  
  1359.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1360.     ROM_LOAD( "136036.153",   0x4000, 0x4000, 0x95294641 )
  1361.     ROM_LOAD( "136036.154",   0x8000, 0x4000, 0xcbfc6adb )
  1362.     ROM_LOAD( "136036.155",   0xc000, 0x4000, 0x4c8233ac )
  1363.  
  1364.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1365.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1366.  
  1367.     ROM_REGION( 0xc0000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1368.     ROM_LOAD( "136036.135",   0x00000, 0x08000, 0xffa8749c )  /* bank 1, plane 0 */
  1369.     ROM_LOAD( "136036.139",   0x08000, 0x08000, 0xb682bfca )  /* bank 1, plane 1 */
  1370.     ROM_LOAD( "136036.143",   0x10000, 0x08000, 0x7697da26 )  /* bank 1, plane 2 */
  1371.     ROM_LOAD( "136036.147",   0x18000, 0x08000, 0x4e9d664c )  /* bank 1, plane 3 */
  1372.  
  1373.     ROM_LOAD( "136036.136",   0x30000, 0x08000, 0xb2b403aa )  /* bank 2, plane 0 */
  1374.     ROM_LOAD( "136036.140",   0x38000, 0x08000, 0xec0c19ca )  /* bank 2, plane 1 */
  1375.     ROM_LOAD( "136036.144",   0x40000, 0x08000, 0x4407df98 )  /* bank 2, plane 2 */
  1376.     ROM_LOAD( "136036.148",   0x48000, 0x08000, 0x70dce06d )  /* bank 2, plane 3 */
  1377.  
  1378.     ROM_LOAD( "136036.137",   0x60000, 0x08000, 0x3f352547 )  /* bank 3, plane 0 */
  1379.     ROM_LOAD( "136036.141",   0x68000, 0x08000, 0x9cbdffd0 )  /* bank 3, plane 1 */
  1380.     ROM_LOAD( "136036.145",   0x70000, 0x08000, 0xe828e64b )  /* bank 3, plane 2 */
  1381.     ROM_LOAD( "136036.149",   0x78000, 0x08000, 0x81503a23 )  /* bank 3, plane 3 */
  1382.  
  1383.     ROM_LOAD( "136036.138",   0x90000, 0x08000, 0x48c4d79d )  /* bank 4, plane 0 */
  1384.     ROM_LOAD( "136036.142",   0x98000, 0x08000, 0x7faae75f )  /* bank 4, plane 1 */
  1385.     ROM_LOAD( "136036.146",   0xa0000, 0x08000, 0x8ae5a7b5 )  /* bank 4, plane 2 */
  1386.     ROM_LOAD( "136036.150",   0xa8000, 0x08000, 0xa10c4bd9 )  /* bank 4, plane 3 */
  1387.  
  1388.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1389.     ROM_LOAD( "136036.152",   0x000, 0x200, 0x4f96e57c )  /* remap */
  1390.     ROM_LOAD( "136036.151",   0x200, 0x200, 0x7daf351f )  /* color */
  1391. ROM_END
  1392.  
  1393. ROM_START( indytem4 )
  1394.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1395.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1396.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1397.     ROM_LOAD_EVEN( "136036.332",   0x10000, 0x08000, 0xa5563773 )
  1398.     ROM_LOAD_ODD ( "136036.331",   0x10000, 0x08000, 0x7d562141 )
  1399.     ROM_LOAD_EVEN( "136036.334",   0x20000, 0x08000, 0xe40828e5 )
  1400.     ROM_LOAD_ODD ( "136036.333",   0x20000, 0x08000, 0x96e1f1aa )
  1401.     ROM_LOAD_EVEN( "136036.356",   0x30000, 0x04000, 0x5eba2ac7 )
  1402.     ROM_LOAD_ODD ( "136036.357",   0x30000, 0x04000, 0x26e84b5c )
  1403.     ROM_LOAD_EVEN( "136036.358",   0x80000, 0x04000, 0xd9351106 )
  1404.     ROM_LOAD_ODD ( "136036.359",   0x80000, 0x04000, 0xe731caea )
  1405.  
  1406.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1407.     ROM_LOAD( "136036.153",   0x4000, 0x4000, 0x95294641 )
  1408.     ROM_LOAD( "136036.154",   0x8000, 0x4000, 0xcbfc6adb )
  1409.     ROM_LOAD( "136036.155",   0xc000, 0x4000, 0x4c8233ac )
  1410.  
  1411.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1412.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1413.  
  1414.     ROM_REGION( 0xc0000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1415.     ROM_LOAD( "136036.135",   0x00000, 0x08000, 0xffa8749c )  /* bank 1, plane 0 */
  1416.     ROM_LOAD( "136036.139",   0x08000, 0x08000, 0xb682bfca )  /* bank 1, plane 1 */
  1417.     ROM_LOAD( "136036.143",   0x10000, 0x08000, 0x7697da26 )  /* bank 1, plane 2 */
  1418.     ROM_LOAD( "136036.147",   0x18000, 0x08000, 0x4e9d664c )  /* bank 1, plane 3 */
  1419.  
  1420.     ROM_LOAD( "136036.136",   0x30000, 0x08000, 0xb2b403aa )  /* bank 2, plane 0 */
  1421.     ROM_LOAD( "136036.140",   0x38000, 0x08000, 0xec0c19ca )  /* bank 2, plane 1 */
  1422.     ROM_LOAD( "136036.144",   0x40000, 0x08000, 0x4407df98 )  /* bank 2, plane 2 */
  1423.     ROM_LOAD( "136036.148",   0x48000, 0x08000, 0x70dce06d )  /* bank 2, plane 3 */
  1424.  
  1425.     ROM_LOAD( "136036.137",   0x60000, 0x08000, 0x3f352547 )  /* bank 3, plane 0 */
  1426.     ROM_LOAD( "136036.141",   0x68000, 0x08000, 0x9cbdffd0 )  /* bank 3, plane 1 */
  1427.     ROM_LOAD( "136036.145",   0x70000, 0x08000, 0xe828e64b )  /* bank 3, plane 2 */
  1428.     ROM_LOAD( "136036.149",   0x78000, 0x08000, 0x81503a23 )  /* bank 3, plane 3 */
  1429.  
  1430.     ROM_LOAD( "136036.138",   0x90000, 0x08000, 0x48c4d79d )  /* bank 4, plane 0 */
  1431.     ROM_LOAD( "136036.142",   0x98000, 0x08000, 0x7faae75f )  /* bank 4, plane 1 */
  1432.     ROM_LOAD( "136036.146",   0xa0000, 0x08000, 0x8ae5a7b5 )  /* bank 4, plane 2 */
  1433.     ROM_LOAD( "136036.150",   0xa8000, 0x08000, 0xa10c4bd9 )  /* bank 4, plane 3 */
  1434.  
  1435.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1436.     ROM_LOAD( "136036.152",   0x000, 0x200, 0x4f96e57c )  /* remap */
  1437.     ROM_LOAD( "136036.151",   0x200, 0x200, 0x7daf351f )  /* color */
  1438. ROM_END
  1439.  
  1440. ROM_START( roadrunn )
  1441.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1442.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1443.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1444.     ROM_LOAD_EVEN( "136040.228",   0x10000, 0x08000, 0xb66c629a )
  1445.     ROM_LOAD_ODD ( "136040.229",   0x10000, 0x08000, 0x5638959f )
  1446.     ROM_LOAD_EVEN( "136040.230",   0x20000, 0x08000, 0xcd7956a3 )
  1447.     ROM_LOAD_ODD ( "136040.231",   0x20000, 0x08000, 0x722f2d3b )
  1448.     ROM_LOAD_EVEN( "136040.134",   0x50000, 0x08000, 0x18f431fe )
  1449.     ROM_LOAD_ODD ( "136040.135",   0x50000, 0x08000, 0xcb06f9ab )
  1450.     ROM_LOAD_EVEN( "136040.136",   0x60000, 0x08000, 0x8050bce4 )
  1451.     ROM_LOAD_ODD ( "136040.137",   0x60000, 0x08000, 0x3372a5cf )
  1452.     ROM_LOAD_EVEN( "136040.138",   0x70000, 0x08000, 0xa83155ee )
  1453.     ROM_LOAD_ODD ( "136040.139",   0x70000, 0x08000, 0x23aead1c )
  1454.     ROM_LOAD_EVEN( "136040.140",   0x80000, 0x04000, 0xd1464c88 )
  1455.     ROM_LOAD_ODD ( "136040.141",   0x80000, 0x04000, 0xf8f2acdf )
  1456.  
  1457.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1458.     ROM_LOAD( "136040.143",   0x8000, 0x4000, 0x62b9878e )
  1459.     ROM_LOAD( "136040.144",   0xc000, 0x4000, 0x6ef1b804 )
  1460.  
  1461.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1462.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1463.  
  1464.     ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1465.     ROM_LOAD( "136040.101",   0x00000, 0x08000, 0x26d9f29c )  /* bank 1, plane 0 */
  1466.     ROM_LOAD( "136040.107",   0x08000, 0x08000, 0x8aac0ba4 )  /* bank 1, plane 1 */
  1467.     ROM_LOAD( "136040.113",   0x10000, 0x08000, 0x48b74c52 )  /* bank 1, plane 2 */
  1468.     ROM_LOAD( "136040.119",   0x18000, 0x08000, 0x17a6510c )  /* bank 1, plane 3 */
  1469.  
  1470.     ROM_LOAD( "136040.102",   0x30000, 0x08000, 0xae88f54b )  /* bank 2, plane 0 */
  1471.     ROM_LOAD( "136040.108",   0x38000, 0x08000, 0xa2ac13d4 )  /* bank 2, plane 1 */
  1472.     ROM_LOAD( "136040.114",   0x40000, 0x08000, 0xc91c3fcb )  /* bank 2, plane 2 */
  1473.     ROM_LOAD( "136040.120",   0x48000, 0x08000, 0x42d25859 )  /* bank 2, plane 3 */
  1474.  
  1475.     ROM_LOAD( "136040.103",   0x60000, 0x08000, 0xf2d7ef55 )  /* bank 3, plane 0 */
  1476.     ROM_LOAD( "136040.109",   0x68000, 0x08000, 0x11a843dc )  /* bank 3, plane 1 */
  1477.     ROM_LOAD( "136040.115",   0x70000, 0x08000, 0x8b1fa5bc )  /* bank 3, plane 2 */
  1478.     ROM_LOAD( "136040.121",   0x78000, 0x08000, 0xecf278f2 )  /* bank 3, plane 3 */
  1479.  
  1480.     ROM_LOAD( "136040.104",   0x90000, 0x08000, 0x0203d89c )  /* bank 4, plane 0 */
  1481.     ROM_LOAD( "136040.110",   0x98000, 0x08000, 0x64801601 )  /* bank 4, plane 1 */
  1482.     ROM_LOAD( "136040.116",   0xa0000, 0x08000, 0x52b23a36 )  /* bank 4, plane 2 */
  1483.     ROM_LOAD( "136040.122",   0xa8000, 0x08000, 0xb1137a9d )  /* bank 4, plane 3 */
  1484.  
  1485.     ROM_LOAD( "136040.105",   0xc0000, 0x08000, 0x398a36f8 )  /* bank 5, plane 0 */
  1486.     ROM_LOAD( "136040.111",   0xc8000, 0x08000, 0xf08b418b )  /* bank 5, plane 1 */
  1487.     ROM_LOAD( "136040.117",   0xd0000, 0x08000, 0xc4394834 )  /* bank 5, plane 2 */
  1488.     ROM_LOAD( "136040.123",   0xd8000, 0x08000, 0xdafd3dbe )  /* bank 5, plane 3 */
  1489.  
  1490.     ROM_LOAD( "136040.106",   0xe0000, 0x08000, 0x36a77bc5 )  /* bank 6, plane 0 */
  1491.     ROM_LOAD( "136040.112",   0xe8000, 0x08000, 0xb6624f3c )  /* bank 6, plane 1 */
  1492.     ROM_LOAD( "136040.118",   0xf0000, 0x08000, 0xf489a968 )  /* bank 6, plane 2 */
  1493.     ROM_LOAD( "136040.124",   0xf8000, 0x08000, 0x524d65f7 )  /* bank 6, plane 3 */
  1494.  
  1495.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1496.     ROM_LOAD( "136040.126",   0x000, 0x200, 0x1713c0cd )  /* remap */
  1497.     ROM_LOAD( "136040.125",   0x200, 0x200, 0xa9ca8795 )  /* color */
  1498. ROM_END
  1499.  
  1500. ROM_START( roadblst )
  1501.     ROM_REGION( 0x88000, REGION_CPU1 )    /* 8.5*64k for 68000 code & slapstic ROM */
  1502.     ROM_LOAD_EVEN( "136032.205",   0x00000, 0x04000, 0x88d0be26 )
  1503.     ROM_LOAD_ODD ( "136032.206",   0x00000, 0x04000, 0x3c79ef05 )
  1504.     ROM_LOAD_EVEN( "048-1139.rom", 0x10000, 0x10000, 0xb73c1bd5 )
  1505.     ROM_LOAD_ODD ( "048-1140.rom", 0x10000, 0x10000, 0x6305429b )
  1506.     ROM_LOAD_EVEN( "048-1155.rom", 0x50000, 0x10000, 0xe95fc7d2 )
  1507.     ROM_LOAD_ODD ( "048-1156.rom", 0x50000, 0x10000, 0x727510f9 )
  1508.     ROM_LOAD_EVEN( "048-1167.rom", 0x70000, 0x08000, 0xc6d30d6f )
  1509.     ROM_LOAD_ODD ( "048-1168.rom", 0x70000, 0x08000, 0x16951020 )
  1510.     ROM_LOAD_EVEN( "048-2147.rom", 0x80000, 0x04000, 0x5c1adf67 )
  1511.     ROM_LOAD_ODD ( "048-2148.rom", 0x80000, 0x04000, 0xd9ac8966 )
  1512.  
  1513.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for 6502 code */
  1514.     ROM_LOAD( "048-1149.rom", 0x4000, 0x4000, 0x2e54f95e )
  1515.     ROM_LOAD( "048-1169.rom", 0x8000, 0x4000, 0xee318052 )
  1516.     ROM_LOAD( "048-1170.rom", 0xc000, 0x4000, 0x75dfec33 )
  1517.  
  1518.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  1519.     ROM_LOAD( "136032.107",   0x00000, 0x02000, 0x7a29dc07 )  /* alpha font */
  1520.  
  1521.     ROM_REGION( 0x120000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  1522.     ROM_LOAD( "048-1101.rom", 0x00000, 0x08000, 0xfe342d27 )  /* bank 1, plane 0 */
  1523.     ROM_LOAD( "048-1102.rom", 0x08000, 0x08000, 0x17c7e780 )  /* bank 1, plane 1 */
  1524.     ROM_LOAD( "048-1103.rom", 0x10000, 0x08000, 0x39688e01 )  /* bank 1, plane 2 */
  1525.     ROM_LOAD( "048-1104.rom", 0x18000, 0x08000, 0xc8f9bd8e )  /* bank 1, plane 3 */
  1526.     ROM_LOAD( "048-1105.rom", 0x20000, 0x08000, 0xc69e439e )  /* bank 1, plane 4 */
  1527.     ROM_LOAD( "048-1106.rom", 0x28000, 0x08000, 0x4ee55796 )  /* bank 1, plane 5 */
  1528.  
  1529.     ROM_LOAD( "048-1107.rom", 0x30000, 0x08000, 0x02117c58 )  /* bank 2, plane 0 */
  1530.     ROM_CONTINUE(             0x60000, 0x08000 )              /* bank 3, plane 0 */
  1531.     ROM_LOAD( "048-1108.rom", 0x38000, 0x08000, 0x1e148525 )  /* bank 2, plane 1 */
  1532.     ROM_CONTINUE(             0x68000, 0x08000 )              /* bank 3, plane 1 */
  1533.     ROM_LOAD( "048-1109.rom", 0x40000, 0x08000, 0x110ce07e )  /* bank 2, plane 2 */
  1534.     ROM_CONTINUE(             0x70000, 0x08000 )              /* bank 3, plane 2 */
  1535.     ROM_LOAD( "048-1110.rom", 0x48000, 0x08000, 0xc00aa0f4 )  /* bank 2, plane 3 */
  1536.     ROM_CONTINUE(             0x78000, 0x08000 )              /* bank 3, plane 3 */
  1537.  
  1538.     ROM_LOAD( "048-1111.rom", 0x90000, 0x08000, 0xc951d014 )  /* bank 4, plane 0 */
  1539.     ROM_CONTINUE(             0xc0000, 0x08000 )              /* bank 5, plane 0 */
  1540.     ROM_LOAD( "048-1112.rom", 0x98000, 0x08000, 0x95c5a006 )  /* bank 4, plane 1 */
  1541.     ROM_CONTINUE(             0xc8000, 0x08000 )              /* bank 5, plane 1 */
  1542.     ROM_LOAD( "048-1113.rom", 0xa0000, 0x08000, 0xf61f2370 )  /* bank 4, plane 2 */
  1543.     ROM_CONTINUE(             0xd0000, 0x08000 )              /* bank 5, plane 2 */
  1544.     ROM_LOAD( "048-1114.rom", 0xa8000, 0x08000, 0x774a36a8 )  /* bank 4, plane 3 */
  1545.     ROM_CONTINUE(             0xd8000, 0x08000 )              /* bank 5, plane 3 */
  1546.  
  1547.     ROM_LOAD( "048-1115.rom", 0x100000, 0x08000, 0xa47bc79d ) /* bank 7, plane 0 */
  1548.     ROM_CONTINUE(             0xe0000, 0x08000 )              /* bank 6, plane 0 */
  1549.     ROM_LOAD( "048-1116.rom", 0x108000, 0x08000, 0xb8a5c215 ) /* bank 7, plane 1 */
  1550.     ROM_CONTINUE(             0xe8000, 0x08000 )              /* bank 6, plane 1 */
  1551.     ROM_LOAD( "048-1117.rom", 0x110000, 0x08000, 0x2d1c1f64 ) /* bank 7, plane 2 */
  1552.     ROM_CONTINUE(             0xf0000, 0x08000 )              /* bank 6, plane 2 */
  1553.     ROM_LOAD( "048-1118.rom", 0x118000, 0x08000, 0xbe879b8e ) /* bank 7, plane 3 */
  1554.     ROM_CONTINUE(             0xf8000, 0x08000 )              /* bank 6, plane 3 */
  1555.  
  1556.     ROM_REGION( 0x400, REGION_PROMS )    /* graphics mapping PROMs */
  1557.     ROM_LOAD( "048-1174.bpr",   0x000, 0x200, 0xdb4a4d53 )  /* remap */
  1558.     ROM_LOAD( "048-1173.bpr",   0x200, 0x200, 0xc80574af )  /* color */
  1559. ROM_END
  1560.  
  1561.  
  1562.  
  1563. /*************************************
  1564.  *
  1565.  *    Game driver(s)
  1566.  *
  1567.  *************************************/
  1568.  
  1569. GAME( 1984, marble,   0,        atarisy1, marble,   marble,   ROT0, "Atari Games", "Marble Madness (set 1)" )
  1570. GAME( 1984, marble2,  marble,   atarisy1, marble,   marble,   ROT0, "Atari Games", "Marble Madness (set 2)" )
  1571. GAME( 1984, marblea,  marble,   atarisy1, marble,   marble,   ROT0, "Atari Games", "Marble Madness (set 3)" )
  1572. GAME( 1984, peterpak, 0,        atarisy1, peterpak, peterpak, ROT0, "Atari Games", "Peter Pack-Rat" )
  1573. GAME( 1985, indytemp, 0,        atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 1)" )
  1574. GAME( 1985, indytem2, indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 2)" )
  1575. GAME( 1985, indytem3, indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 3)" )
  1576. GAME( 1985, indytem4, indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 4)" )
  1577. GAME( 1985, roadrunn, 0,        atarisy1, roadrunn, roadrunn, ROT0, "Atari Games", "Road Runner" )
  1578. GAME( 1987, roadblst, 0,        atarisy1, roadblst, roadblst, ROT0, "Atari Games", "Road Blasters" )
  1579.